home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / amiga / Prefs.mod < prev    next >
Text File  |  1995-06-29  |  22KB  |  830 lines

  1. (*************************************************************************
  2.  
  3.      $RCSfile: Prefs.mod $
  4.   Description: Interface to new Preferences
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.8 $
  8.       $Author: fjc $
  9.         $Date: 1995/06/04 23:13:14 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1991-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A Interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. *************************************************************************)
  21.  
  22. <* STANDARD- *>
  23.  
  24. MODULE [2] Prefs;
  25.  
  26. IMPORT e := Exec, t := Timer, gfx := Graphics, i := Intuition, s := Sets;
  27.  
  28. (*
  29. **      $VER: prefhdr.h 38.1 (19.6.91)
  30. **
  31. **      File format for preferences header
  32. *)
  33.  
  34. (************************************************************************)
  35.  
  36. CONST
  37.  
  38.   idPREF * = 050524546H; (* MAKE_ID('P','R','E','F') *)
  39.   idPRHD * = 050524844H; (* MAKE_ID('P','R','H','D') *)
  40.  
  41. TYPE
  42.  
  43.   PrefHeaderPtr * = POINTER TO PrefHeader;
  44.   PrefHeader * = RECORD
  45.     version * : SHORTINT;  (* version of following data *)
  46.     type *    : SHORTINT;  (* type of following data    *)
  47.     flags *   : s.SET32;   (* always set to 0 for now   *)
  48.   END;
  49.  
  50.  
  51. (************************************************************************)
  52.  
  53. (*
  54. **      $VER: font.h 38.2 (27.9.91)
  55. **
  56. **      File format for font preferences
  57. *)
  58.  
  59. (************************************************************************)
  60.  
  61. CONST
  62.  
  63.   idFONT * = 0464F4E54H; (* MAKE_ID('F','O','N','T') *)
  64.  
  65.  
  66.   fontNameSize * = 128;
  67.  
  68. TYPE
  69.  
  70.   FontPrefsPtr * = POINTER TO FontPrefs;
  71.   FontPrefs * = RECORD
  72.     reserved *  : ARRAY 3 OF LONGINT;
  73.     reserved2 * : e.UWORD;
  74.     type *      : e.UWORD;
  75.     frontPen *  : SHORTINT;
  76.     backPen *   : SHORTINT;
  77.     drawMode *  : SHORTINT;
  78.     textAttr *  : gfx.TextAttr;
  79.     name *      : ARRAY fontNameSize OF CHAR;
  80.   END;
  81.  
  82. CONST
  83.  
  84. (* constants for FontPrefs.fp_Type *)
  85.   wbFont * = 0;
  86.   sysFont * = 1;
  87.   screenFont * = 2;
  88.  
  89. (************************************************************************)
  90.  
  91. (*
  92. **      $VER: icontrol.h 39.1 (1.10.92)
  93. **
  94. **      File format for intuition control preferences
  95. *)
  96.  
  97. (************************************************************************)
  98.  
  99. CONST
  100.  
  101.   idICTL * = 04943544CH; (* MAKE_ID('I','C','T','L') *)
  102.  
  103. TYPE
  104.  
  105.   IControlPrefs * = RECORD
  106.     reserved *    : ARRAY 4 OF LONGINT; (* System reserved              *)
  107.     timeOut *     : e.UWORD;            (* Verify timeout               *)
  108.     metaDrag *    : INTEGER;            (* Meta drag mouse event        *)
  109.     flags *       : s.SET32;            (* IControl flags (see below)   *)
  110.     wBtoFront *   : CHAR;               (* CKey: WB to front            *)
  111.     frontToBack * : CHAR;               (* CKey: front screen to back   *)
  112.     reqTrue *     : CHAR;               (* CKey: Requester TRUE         *)
  113.     reqFalse *    : CHAR;               (* CKey: Requester FALSE        *)
  114.   END;
  115.  
  116. CONST
  117.  
  118. (* flags for IControlPrefs.ic_Flags *)
  119.   coerceColors * = 0;
  120.   coerceLace * = 1;
  121.   strGadFilter * = 2;
  122.   menuSnap * = 3;
  123.   modePromote * = 4;
  124.  
  125. (************************************************************************)
  126.  
  127. (*
  128. **      $VER: input.h 38.2 (28.6.91)
  129. **
  130. **      File format for input preferences
  131. *)
  132.  
  133. (************************************************************************)
  134.  
  135. CONST
  136.  
  137.   idINPT * = 0494E5054H; (* MAKE_ID('I','N','P','T'); *)
  138.  
  139. TYPE
  140.  
  141.   InputPrefsPtr * = POINTER TO InputPrefs;
  142.   InputPrefs * = RECORD
  143.     keymap *       : ARRAY 16 OF CHAR;
  144.     pointerTicks * : e.UWORD;
  145.     doubleClick *  : t.TimeVal;
  146.     keyRptDelay *  : t.TimeVal;
  147.     keyRptSpeed *  : t.TimeVal;
  148.     mouseAccel *   : INTEGER;
  149.   END;
  150.  
  151.  
  152. (************************************************************************)
  153.  
  154. (*
  155. **      $VER: locale.h 38.4 (5.12.91)
  156. **
  157. **      File format for locale preferences
  158. *)
  159.  
  160. (************************************************************************)
  161.  
  162. CONST
  163.  
  164.   idLCLE * = 04C434C45H; (* MAKE_ID('L','C','L','E') *)
  165.   idCTRY * = 043545259H; (* MAKE_ID('C','T','R','Y') *)
  166.  
  167. TYPE
  168.  
  169.   CountryPrefsPtr * = POINTER TO CountryPrefs;
  170.   CountryPrefs * = RECORD
  171.     reserved *            : ARRAY 4 OF e.ULONG;
  172.     countryCode *         : e.ULONG;
  173.     telephoneCode *       : e.ULONG;
  174.     measuringSystem *     : SHORTINT;
  175.  
  176.     dateTimeFormat *      : ARRAY 80 OF CHAR;
  177.     dateFormat *          : ARRAY 40 OF CHAR;
  178.     timeFormat *          : ARRAY 40 OF CHAR;
  179.  
  180.     shortDateTimeFormat * : ARRAY 80 OF CHAR;
  181.     shortDateFormat *     : ARRAY 40 OF CHAR;
  182.     shortTimeFormat *     : ARRAY 40 OF CHAR;
  183.  
  184.     (* for numeric values *)
  185.     decimalPoint *        : ARRAY 10 OF CHAR;
  186.     groupSeparator *      : ARRAY 10 OF CHAR;
  187.     fracGroupSeparator *  : ARRAY 10 OF CHAR;
  188.     grouping *            : ARRAY 10 OF SHORTINT;
  189.     fracGrouping *        : ARRAY 10 OF SHORTINT;
  190.  
  191.     (* for monetary values *)
  192.     monDecimalPoint *     : ARRAY 10 OF CHAR;
  193.     monGroupSeparator *   : ARRAY 10 OF CHAR;
  194.     monFracGroupSeparator * : ARRAY 10 OF CHAR;
  195.     monGrouping *         : ARRAY 10 OF SHORTINT;
  196.     monFracGrouping *     : ARRAY 10 OF SHORTINT;
  197.     monFracDigits *       : SHORTINT;
  198.     monIntFracDigits *    : SHORTINT;
  199.  
  200.     (* for currency symbols *)
  201.     monCS *               : ARRAY 10 OF CHAR;
  202.     monSmallCS *          : ARRAY 10 OF CHAR;
  203.     monIntCS *            : ARRAY 10 OF CHAR;
  204.  
  205.     (* for positive monetary values *)
  206.     monPositiveSign *     : ARRAY 10 OF CHAR;
  207.     monPositiveSpaceSep * : SHORTINT;
  208.     monPositiveSignPos *  : SHORTINT;
  209.     monPositiveCSPos *    : SHORTINT;
  210.  
  211.     (* for negative monetary values *)
  212.     monNegativeSign *     : ARRAY 10 OF CHAR;
  213.     monNegativeSpaceSep * : SHORTINT;
  214.     monNegativeSignPos *  : SHORTINT;
  215.     monNegativeCSPos *    : SHORTINT;
  216.  
  217.     calendarType *        : SHORTINT;
  218.   END;
  219.  
  220. TYPE
  221.  
  222.   LocalePrefsPtr * = POINTER TO LocalePrefs;
  223.   LocalePrefs * = RECORD
  224.     reserved *           : ARRAY 4 OF e.ULONG;
  225.     countryName *        : ARRAY 32 OF CHAR;
  226.     preferredLanguages * : ARRAY 10,30 OF CHAR;
  227.     gmtOffset *          : LONGINT;
  228.     flags *              : s.SET32;
  229.     countryData *        : CountryPrefs;
  230.   END;
  231.  
  232.  
  233. (************************************************************************)
  234.  
  235. (*
  236. **      $VER: overscan.h 38.4 (22.10.92)
  237. **
  238. **      File format for overscan preferences
  239. *)
  240.  
  241. (************************************************************************)
  242.  
  243. CONST
  244.  
  245.   idOSCN * = 04F53434EH; (* MAKE_ID('O','S','C','N') *)
  246.  
  247.   oscanMagic * = 0FEDCBA89H;
  248.  
  249. TYPE
  250.  
  251.   OverscanPrefsPtr * = POINTER TO OverscanPrefs;
  252.   OverscanPrefs * = RECORD
  253.     reserved *  : e.ULONG;
  254.     magic *     : e.ULONG;
  255.     hStart *    : e.UWORD;
  256.     hStop *     : e.UWORD;
  257.     vStart *    : e.UWORD;
  258.     vStop *     : e.UWORD;
  259.     displayID * : e.ULONG;
  260.     viewPos *   : gfx.Point;
  261.     text *      : gfx.Point;
  262.     standard *  : gfx.Rectangle;
  263.   END;
  264.  
  265. (* os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if
  266.  * os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,
  267.  * these four fields are undefined
  268.  *)
  269.  
  270.  
  271. (************************************************************************)
  272.  
  273. (*
  274. **      $VER: palette.h 39.2 (15.6.92)
  275. **
  276. **      File format for palette preferences
  277. *)
  278.  
  279.  
  280. (************************************************************************)
  281.  
  282. CONST
  283.  
  284.   idPALT * = 050414C54H; (* MAKE_ID('P','A','L','T') *)
  285.  
  286. TYPE
  287.  
  288.   PalettePrefsPtr * = POINTER TO PalettePrefs;
  289.   PalettePrefs * = RECORD
  290.     reserved *       : ARRAY 4 OF LONGINT;    (* System reserved                *)
  291.     pap4ColorPens *  : ARRAY 32 OF e.UWORD;
  292.     pap8ColorPens *  : ARRAY 32 OF e.UWORD;
  293.     colors *         : ARRAY 32 OF i.ColorSpec; (* Used as full 16-bit RGB values *)
  294.   END;
  295.  
  296.  
  297. (************************************************************************)
  298.  
  299. (*
  300. **      $VER: pointer.h 39.2 (9.6.92)
  301. **
  302. **      File format for pointer preferences
  303. *)
  304.  
  305. (************************************************************************)
  306.  
  307. CONST
  308.  
  309.   idPNTR * = 0504E5452H; (* MAKE_ID('P','N','T','R') *)
  310.  
  311. (************************************************************************)
  312.  
  313. TYPE
  314.  
  315.   PointerPrefsPtr * = POINTER TO PointerPrefs;
  316.   PointerPrefs * = RECORD
  317.     reserved * : ARRAY 4 OF e.ULONG;
  318.     which *    : e.UWORD;            (* 0=NORMAL, 1=BUSY *)
  319.     size *     : e.UWORD;            (* see <intuition/pointerclass.h> *)
  320.     width *    : e.UWORD;            (* Width in pixels *)
  321.     height *   : e.UWORD;            (* Height in pixels *)
  322.     depth *    : e.UWORD;            (* Depth *)
  323.     ySize *    : e.UWORD;            (* YSize *)
  324.     x *, y *   : e.UWORD;            (* Hotspot *)
  325.  
  326.     (* Color Table: numEntries = (1 << pp_Depth) - 1 *)
  327.  
  328.     (* Data follows *)
  329.   END;
  330.  
  331. (************************************************************************)
  332.  
  333. CONST
  334.  
  335. (* constants for PointerPrefs.which *)
  336.   normal * = 0;
  337.   busy * = 1;
  338.  
  339. (************************************************************************)
  340.  
  341. TYPE
  342.  
  343.   RGBTablePtr * = POINTER TO RGBTable;
  344.   RGBTable * = RECORD
  345.     red *   : SHORTINT;
  346.     green * : SHORTINT;
  347.     blue *  : SHORTINT;
  348.   END;
  349.  
  350. (************************************************************************)
  351.  
  352. (*
  353. **      $VER: printergfx.h 38.2 (3.7.91)
  354. **
  355. **      File format for graphics printer preferences
  356. *)
  357.  
  358.  
  359. (************************************************************************)
  360.  
  361. CONST
  362.  
  363.   idPGFX * = 050474658H; (* MAKE_ID('P','G','F','X') *)
  364.  
  365. TYPE
  366.  
  367.   PrinterGfxPrefsPtr * = POINTER TO PrinterGfxPrefs;
  368.   PrinterGfxPrefs * = RECORD
  369.     reserved *       : ARRAY 4 OF LONGINT;
  370.     aspect *         : e.UWORD;
  371.     shade *          : e.UWORD;
  372.     image *          : e.UWORD;
  373.     threshold *      : INTEGER;
  374.     colorCorrect *   : SHORTINT;
  375.     dimensions *     : SHORTINT;
  376.     dithering *      : SHORTINT;
  377.     graphicFlags *   : s.SET16;
  378.     printDensity *   : SHORTINT;          (* Print density 1 - 7 *)
  379.     printMaxWidth *  : e.UWORD;
  380.     printMaxHeight * : e.UWORD;
  381.     printXOffset *   : SHORTINT;
  382.     printYOffset *   : SHORTINT;
  383.   END;
  384.  
  385. CONST
  386.  
  387. (* constants for PrinterGfxPrefs.pg_Aspect *)
  388.   horizontal * = 0;
  389.   vertical * = 1;
  390.  
  391. (* constants for PrinterGfxPrefs.pg_Shade *)
  392.   psBW * = 0;
  393.   greyScale * = 1;
  394.   color * = 2;
  395.   greyScale2 * = 3;
  396.  
  397. (* constants for PrinterGfxPrefs.pg_Image *)
  398.   positive * = 0;
  399.   negative * = 1;
  400.  
  401. (* flags for PrinterGfxPrefs.pg_ColorCorrect *)
  402.   red * = 1;        (* color correct red shades   *)
  403.   green * = 2;      (* color correct green shades *)
  404.   blue * = 3;       (* color correct blue shades  *)
  405.  
  406. (* constants for PrinterGfxPrefs.pg_Dimensions *)
  407.   ignore * = 0;      (* ignore max width/height settings *)
  408.   bounded * = 1;     (* use max w/h as boundaries        *)
  409.   absolute * = 2;    (* use max w/h as absolutes         *)
  410.   pixel * = 3;       (* use max w/h as prt pixels        *)
  411.   multiply * = 4;    (* use max w/h as multipliers       *)
  412.  
  413. (* constants for PrinterGfxPrefs.pg_Dithering *)
  414.   ordered * = 0;         (* ordered dithering *)
  415.   halfTone * = 1;        (* halftone dithering        *)
  416.   floyd * = 2;           (* Floyd-Steinberg dithering *)
  417.  
  418. (* flags for PrinterGfxPrefs.pg_GraphicsFlags *)
  419.   centerImage * = 0;                (* center image on paper *)
  420.   integerScaling * = 1;             (* force integer scaling *)
  421.   antiAlias * = 2;                  (* anti-alias image      *)
  422.  
  423.  
  424. (************************************************************************)
  425.  
  426. (*
  427. **      $VER: printerps.h 38.6 (6.5.93)
  428. **
  429. **      File format for PostScript printer preferences
  430. *)
  431.  
  432.  
  433. (************************************************************************)
  434.  
  435. CONST
  436.  
  437.   idPSPD * = 050535044H; (* MAKE_ID('P','S','P','D') *)
  438.  
  439. TYPE
  440.  
  441.   PrinterPSPrefsPtr * = POINTER TO PrinterPSPrefs;
  442.   PrinterPSPrefs * = RECORD
  443.     reserved *      : ARRAY 4 OF LONGINT;   (* System reserved *)
  444.  
  445.     (* Global printing attributes *)
  446.     driverMode *    : SHORTINT;
  447.     paperFormat *   : SHORTINT;
  448.     reserved1 *     : ARRAY 2 OF e.UBYTE;
  449.     copies *        : LONGINT;
  450.     paperWidth *    : LONGINT;
  451.     paperHeight *   : LONGINT;
  452.     horizontalDPI * : LONGINT;
  453.     verticalDPI *   : LONGINT;
  454.  
  455.     (* Text Options *)
  456.     font *          : SHORTINT;
  457.     pitch *         : SHORTINT;
  458.     orientation *   : SHORTINT;
  459.     tab *           : SHORTINT;
  460.     reserved2 *     : ARRAY 8 OF e.UBYTE;
  461.  
  462.     (* Text Dimensions *)
  463.     leftMargin *    : LONGINT;
  464.     rightMargin *   : LONGINT;
  465.     topMargin *     : LONGINT;
  466.     bottomMargin *  : LONGINT;
  467.     fontPointSize * : LONGINT;
  468.     leading *       : LONGINT;
  469.     reserved3 *     : ARRAY 8 OF e.UBYTE;
  470.  
  471.     (* Graphics Options *)
  472.     leftEdge *      : LONGINT;
  473.     topEdge *       : LONGINT;
  474.     width *         : LONGINT;
  475.     height *        : LONGINT;
  476.     image *         : SHORTINT;
  477.     shading *       : SHORTINT;
  478.     dithering *     : SHORTINT;
  479.     reserved4 *     : ARRAY 8 OF e.UBYTE;
  480.  
  481.     (* Graphics Scaling *)
  482.     aspect *        : SHORTINT;
  483.     scalingType *   : SHORTINT;
  484.     reserved5 *     : SHORTINT;
  485.     centering *     : SHORTINT;
  486.     reserved6 *     : ARRAY 8 OF e.UBYTE;
  487.   END;
  488.  
  489. CONST
  490.  
  491. (* All measurements are in Millipoints which is 1/1000 of a point, or
  492.  * in other words 1/72000 of an inch
  493.  *)
  494.  
  495. (* constants for PrinterPSPrefs.ps_DriverMode *)
  496.   postScript * = 0;
  497.   passThrough * = 1;
  498.  
  499. (* constants for PrinterPSPrefs.ps_PaperFormat *)
  500.   usLetter * = 0;
  501.   usLegal * = 1;
  502.   a4 * = 2;
  503.   custom * = 3;
  504.  
  505. (* constants for PrinterPSPrefs.ps_Font *)
  506.   courier * = 0;
  507.   times * = 1;
  508.   helvetica * = 2;
  509.   helvNarrow * = 3;
  510.   avantGarde * = 4;
  511.   bookman * = 5;
  512.   newCent * = 6;
  513.   palatino * = 7;
  514.   zapfChancery * = 8;
  515.  
  516. (* constants for PrinterPSPrefs.ps_Pitch *)
  517.   pitchNormal * = 0;
  518.   pitchCompressed * = 1;
  519.   pitchExpanded * = 2;
  520.  
  521. (* constants for PrinterPSPrefs.ps_Orientation *)
  522.   portrait * = 0;
  523.   landscape * = 1;
  524.  
  525. (* constants for PrinterPSPrefs.ps_Tab *)
  526.   tab4 * = 0;
  527.   tab8 * = 1;
  528.   tabQuart * = 2;
  529.   tabHalf * = 3;
  530.   tabInch * = 4;
  531.  
  532. (* constants for PrinterPSPrefs.ps_Image *)
  533.   (* positive * = 0; *) (* same values as for printergfx *)
  534.   (* negative * = 1; *)
  535.  
  536. (* constants for PrinterPSPrefs.ps_Shading *)
  537.   shadBW * = 0;
  538.   shadGreyScale * = 1;
  539.   shadColor * = 2;
  540.  
  541. (* constants for PrinterPSPrefs.ps_Dithering *)
  542.   default * = 0;
  543.   dotty * = 1;
  544.   vert * = 2;
  545.   horiz * = 3;
  546.   diag * = 4;
  547.  
  548. (* constants for PrinterPSPrefs.ps_Aspect *)
  549.   aspHoriz * = 0;
  550.   aspVert * = 1;
  551.  
  552. (* constants for PrinterPSPrefs.ps_ScalingType *)
  553.   aspectAsis * = 0;
  554.   aspectWide * = 1;
  555.   aspectTall * = 2;
  556.   aspectBoth * = 3;
  557.   fitsWide * = 4;
  558.   fitsTall * = 5;
  559.   fitsBoth * = 6;
  560.  
  561. (* constants for PrinterPSPrefs.ps_Centering *)
  562.   centNone * = 0;
  563.   centHoriz * = 1;
  564.   centVert * = 2;
  565.   centBoth * = 3;
  566.  
  567.  
  568. (************************************************************************)
  569.  
  570. (*
  571. **      $VER: printertxt.h 38.2 (1.7.91)
  572. **
  573. **      File format for text printer preferences
  574. *)
  575.  
  576. (************************************************************************)
  577.  
  578. CONST
  579.  
  580.   idPTXT * = 050545854H; (* MAKE_ID('P','T','X','T') *)
  581.   idPUNT * = 050554E54H; (* MAKE_ID('P','U','N','T') *)
  582.  
  583.  
  584.   driverNameSize * = 30;                (* Filename size     *)
  585.   deviceNameSize * = 32;                  (* .device name size *)
  586.  
  587. TYPE
  588.  
  589.   PrinterTxtPrefsPtr * = POINTER TO PrinterTxtPrefs;
  590.   PrinterTxtPrefs * = RECORD
  591.     reserved *    : ARRAY 4 OF LONGINT; (* System reserved            *)
  592.     driver *      : ARRAY driverNameSize OF SHORTINT; (* printer driver filename    *)
  593.     port *        : SHORTINT;           (* printer port connection    *)
  594.  
  595.     paperType *   : e.UWORD;
  596.     paperSize *   : e.UWORD;
  597.     paperLength * : e.UWORD;            (* Paper length in # of lines *)
  598.  
  599.     pitch *       : e.UWORD;
  600.     spacing *     : e.UWORD;
  601.     leftMargin *  : e.UWORD;            (* Left margin                *)
  602.     rightMargin * : e.UWORD;            (* Right margin       *)
  603.     quality *     : e.UWORD;
  604.   END;
  605.  
  606. CONST
  607.  
  608. (* constants for PrinterTxtPrefs.pt_Port *)
  609.   parallel * = 0;
  610.   serial * = 1;
  611.  
  612. (* constants for PrinterTxtPrefs.pt_PaperType *)
  613.   fanfold * = 0;
  614.   single * = 1;
  615.  
  616. (* constants for PrinterTxtPrefs.pt_PaperSize *)
  617.   psUSLetter * = 0;
  618.   psUSLegal * = 1;
  619.   psNTractor * = 2;
  620.   psWTractor * = 3;
  621.   psCustom * = 4;
  622.   psEuroA0 * = 5;                       (* European size A0: 841 x 1189 *)
  623.   psEuroA1 * = 6;                       (* European size A1: 594 x 841  *)
  624.   psEuroA2 * = 7;                       (* European size A2: 420 x 594  *)
  625.   psEuroA3 * = 8;                       (* European size A3: 297 x 420  *)
  626.   psEuroA4 * = 9;                       (* European size A4: 210 x 297  *)
  627.   psEuroA5 * = 10;                      (* European size A5: 148 x 210  *)
  628.   psEuroA6 * = 11;                      (* European size A6: 105 x 148  *)
  629.   psEuroA7 * = 12;                      (* European size A7: 74 x 105   *)
  630.   psEuroA8 * = 13;                      (* European size A8: 52 x 74    *)
  631.  
  632. (* constants for PrinterTxtPrefs.pt_PrintPitch *)
  633.   pica * = 0;
  634.   elite * = 1;
  635.   fine * = 2;
  636.  
  637. (* constants for PrinterTxtPrefs.pt_PrintSpacing *)
  638.   sixLPI * = 0;
  639.   eightLPI * = 1;
  640.  
  641. (* constants for PrinterTxtPrefs.pt_PrintQuality *)
  642.   draft * = 0;
  643.   letter * = 1;
  644.  
  645. TYPE
  646.  
  647.   PrinterUnitPrefsPtr * = POINTER TO PrinterUnitPrefs;
  648.   PrinterUnitPrefs * = RECORD
  649.     reserved *        : ARRAY 4 OF LONGINT; (* System reserved           *)
  650.     unitNum *         : LONGINT;         (* Unit number for OpenDevice() *)
  651.     openDeviceFlags * : s.SET32;         (* Flags for OpenDevice()       *)
  652.     deviceName *      : ARRAY deviceNameSize OF SHORTINT;
  653.                                          (* Name for OpenDevice()        *)
  654.   END;
  655.  
  656.  
  657. (************************************************************************)
  658.  
  659. (*
  660. **      $VER: screenmode.h 38.4 (25.6.92)
  661. **
  662. **      File format for screen mode preferences
  663. *)
  664.  
  665. (************************************************************************)
  666.  
  667. CONST
  668.  
  669.   idSCRM * = 05343524DH; (* MAKE_ID('S','C','R','M') *)
  670.  
  671. TYPE
  672.  
  673.   ScreenModePrefsPtr * = POINTER TO ScreenModePrefs;
  674.   ScreenModePrefs * = RECORD
  675.     reserved *  : ARRAY 4 OF e.ULONG;
  676.     displayID * : e.ULONG;
  677.     width *     : e.UWORD;
  678.     height *    : e.UWORD;
  679.     depth *     : e.UWORD;
  680.     control *   : e.UWORD;
  681.   END;
  682.  
  683. CONST
  684.  
  685. (* flags for ScreenModePrefs.smp_Control *)
  686.   autoScroll * = 1;
  687.  
  688.  
  689. (************************************************************************)
  690.  
  691. (*
  692. **      $VER: serial.h 38.2 (10.7.91)
  693. **
  694. **      File format for serial preferences
  695. *)
  696.  
  697. (************************************************************************)
  698.  
  699. CONST
  700.  
  701.   idSERL * = 05345524CH; (* MAKE_ID('S','E','R','L'); *)
  702.  
  703. TYPE
  704.  
  705.   SerialPrefsPtr * = POINTER TO SerialPrefs;
  706.   SerialPrefs * = RECORD
  707.     reserved *        : ARRAY 3 OF LONGINT; (* System reserved           *)
  708.     unit0Map *        : e.ULONG;     (* What unit 0 really refers to     *)
  709.     baudRate *        : e.ULONG;     (* Baud rate                        *)
  710.  
  711.     inputBuffer *     : e.ULONG;     (* Input buffer: 0 - 65536          *)
  712.     outputBuffer *    : e.ULONG;     (* Future: Output: 0 - 65536        *)
  713.  
  714.     inputHandshake *  : SHORTINT;    (* Input handshaking                *)
  715.     outputHandshake * : SHORTINT;    (* Future: Output handshaking       *)
  716.  
  717.     parity *          : SHORTINT;    (* Parity                           *)
  718.     bitsPerChar *     : SHORTINT;    (* I/O bits per character           *)
  719.     stopBits *        : SHORTINT;    (* Stop bits                        *)
  720.   END;
  721.  
  722. CONST
  723.  
  724. (* constants for SerialPrefs.sp_Parity *)
  725.   parityNone * = 0;
  726.   parityEven * = 1;
  727.   parityOdd * = 2;
  728.   parityMark * = 3;                     (* Future enhancement *)
  729.   paritySpace * = 4;                    (* Future enhancement *)
  730.  
  731. (* constants for SerialPrefs.sp_Input/OutputHandshaking *)
  732.   hshakeXON * = 0;
  733.   hshakeRTS * = 1;
  734.   hshakeNone * = 2;
  735.  
  736.  
  737. (************************************************************************)
  738.  
  739. (*
  740. **      $VER: sound.h 38.2 (20.6.91)
  741. **
  742. **      File format for sound preferences
  743. *)
  744.  
  745. (************************************************************************)
  746.  
  747. CONST
  748.  
  749.   idSOND * = 0534F4E44H; (* MAKE_ID('S','O','N','D') *)
  750.  
  751. TYPE
  752.  
  753.   SoundPrefsPtr * = POINTER TO SoundPrefs;
  754.   SoundPrefs * = RECORD
  755.     reserved *      : ARRAY 4 OF LONGINT; (* System reserved            *)
  756.     displayQueue *  : BOOLEAN;            (* Flash the display?         *)
  757.     audioQueue *    : BOOLEAN;            (* Make some sound?           *)
  758.     audioType *     : e.UWORD;            (* Type of sound, see below   *)
  759.     audioVolume *   : e.UWORD;            (* Volume of sound, 0..64     *)
  760.     audioPeriod *   : e.UWORD;            (* Period of sound, 127..2500 *)
  761.     audioDuration * : e.UWORD;            (* Length of simple beep      *)
  762.     audioFileName * : ARRAY 256 OF CHAR;  (* Filename of 8SVX file      *)
  763.   END;
  764.  
  765. CONST
  766.  
  767. (* constants for SoundPrefs.sop_AudioType *)
  768.   beep * = 0;              (* simple beep sound *)
  769.   sample * = 1;            (* sampled sound     *)
  770.  
  771.  
  772. (************************************************************************)
  773.  
  774. (*
  775. **      $VER: wbpattern.h 39.4 (11.6.92)
  776. **
  777. **      File format for wbpattern preferences
  778. *)
  779.  
  780. (************************************************************************)
  781.  
  782. CONST
  783.  
  784.   idPTRN * = 05054524EH; (* MAKE_ID('P','T','R','N') *)
  785.  
  786. (************************************************************************)
  787.  
  788. TYPE
  789.  
  790.   WBPatternPrefsPtr * = POINTER TO WBPatternPrefs;
  791.   WBPatternPrefs * = RECORD
  792.     reserved *   : ARRAY 4 OF e.ULONG;
  793.     which *      : e.UWORD;            (* Which pattern is it *)
  794.     flags *      : s.SET16;
  795.     revision *   : SHORTINT;           (* Must be set to zero *)
  796.     depth *      : SHORTINT;           (* Depth of pattern *)
  797.     dataLength * : e.UWORD;            (* Length of following data *)
  798.   END;
  799.  
  800. (************************************************************************)
  801.  
  802. CONST
  803.  
  804. (* constants for WBPatternPrefs.wbp_Which *)
  805.   root * = 0;
  806.   drawer * = 1;
  807.   screen * = 2;
  808.  
  809. (* wbp_Flags values *)
  810.   pattern * = 0;
  811.     (* Data contains a pattern *)
  812.  
  813.   noRemap * = 4;
  814.     (* Don't remap the pattern *)
  815.  
  816. (************************************************************************)
  817.  
  818. CONST
  819.  
  820.   maxDepth * = 3;                (*  Max depth supported (8 colors) *)
  821.   defPatDepth * = 2;              (*  Depth of default patterns *)
  822.  
  823. (*  Pattern width & height: *)
  824.   patWidth * = 16;
  825.   patHeight * = 16;
  826.  
  827. (************************************************************************)
  828.  
  829. END Prefs.
  830.